home *** CD-ROM | disk | FTP | other *** search
- { Qwik30.inc - Complete QWIK screen procedures ver 3.0, 08-31-87 }
-
- type
- Str80 = string[80];
-
- var
- Vmode: byte absolute $0040:$0049;
- EgaRows: byte absolute $0040:$0084;
- EgaFontSize: integer absolute $0040:$0085;
- EgaInfo: byte absolute $0040:$0087;
- CRTcolumns: byte absolute $0040:$004A;
- Page0seg,Qseg: integer;
- MaxPage: byte;
- CardWait,Qwait,HavePS2: boolean;
- EgaSwitches,SystemID,SubModelID,ActiveDD,AltDD: byte;
- PCCAltDD: integer;
-
- const
- NoDisplay = $00; VgaMono = $07;
- MdaMono = $01; VgaColor = $08;
- CgaColor = $02; DCC9 = $09;
- DCC3 = $03; DCC10 = $0A;
- EgaColor = $04; McgaMono = $0B;
- EgaMono = $05; McgaColor = $0C;
- PgcColor = $06; Unknown = $FF;
-
- procedure Qinit;
- begin
- Inline($B4/$C0/$CD/$15/$72/$06/$26/$8B/$57/$02/$EB/$0C/$B9/$00/$F0/$8E/$C1/
- $26/$8A/$16/$FE/$FF/$88/$CE/$31/$C9/$8E/$C1/$26/$8A/$3E/$49/$04/$B3/$01/
- $80/$FF/$07/$75/$05/$B8/$00/$B0/$EB/$12/$B8/$00/$B8/$43/$B5/$07/$38/$DF/
- $78/$08/$D0/$ED/$80/$FA/$FD/$74/$01/$41/$A3/>PAGE0SEG/$88/$0E/>CARDWAIT/
- $88/$2E/>MAXPAGE/$A2/>HAVEPS2/$88/$16/>SYSTEMID/$88/$36/>SUBMODELID/$88/
- $1E/>ACTIVEDD/$A2/>ALTDD/$80/$FA/$F9/$75/$19/$B4/$15/$CD/$10/$A3/>PCCALTDD/
- $26/$81/$3D/$40/$51/$75/$7B/$80/$3E/>ACTIVEDD/$01/$75/$6F/$B0/$03/$EB/$68/
- $B8/$00/$1A/$CD/$10/$3C/$1A/$75/$1D/$C6/$06/>HAVEPS2/$01/$88/$1E/>ACTIVEDD/
- $88/$3E/>ALTDD/$80/$FB/$07/$78/$0B/$B8/$00/$12/$B3/$34/$CD/$10/$B0/$07/$EB/$42/
- $B4/$12/$B3/$10/$CD/$10/$80/$FB/$10/$74/$3F/$88/$0E/>EGASWITCHES/$31/$D2/
- $8E/$C2/$38/$16/>HAVEPS2/$75/$19/$88/$F8/$04/$04/$26/$F6/$06/$87/$04/$08/
- $74/$05/$A2/>ALTDD/$EB/$20/$A2/>ACTIVEDD/$2C/$03/$A2/>ALTDD/$B0/$07/$84/
- $DB/$75/$0A/$26/$80/$3E/$49/$04/$02/$78/$02/$D0/$E8/$A2/>MAXPAGE/$C6/$06/
- >CARDWAIT/$00/$A0/>CARDWAIT/$A2/>QWAIT/$A1/>PAGE0SEG/$A3/>QSEG);
- end;
-
- { ----------------------------- QWRITES MODULE ------------------------------ }
- procedure QwritesDisp;
- begin
- Inline($4A/$88/$E6/$31/$C0/$8E/$C0/$26/$A1/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/
- $88/$DC/$88/$F0/$8E/$46/$FC/$26/$80/$3E/>QWAIT/$00/$26/$8E/$06/>QSEG/$75/
- $32/$84/$FF/$78/$16/$41/$D1/$E9/$EB/$08/$AD/$88/$E7/$88/$DC/$AB/$88/$F8/
- $AB/$E2/$F5/$73/$6C/$AC/$AB/$EB/$68/$41/$89/$CA/$D1/$E9/$EB/$05/$AD/$AA/
- $47/$88/$E0/$AA/$47/$E2/$F7/$D1/$EA/$73/$54/$AC/$AA/$EB/$50/$BA/$DA/$03/
- $84/$FF/$78/$29/$88/$DC/$EB/$01/$AC/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/
- $F8/$80/$F9/$90/$78/$B7/$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/
- $F8/$AB/$FB/$E2/$DF/$EB/$22/$AC/$47/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/
- $F8/$80/$F9/$80/$78/$A9/$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/
- $F8/$AA/$FB/$E2/$DE/$FB/$C3);
- end;
-
- procedure QwriteLV (Row, Col: byte; Attr, Length: integer; VAR St);
- begin
- Inline($8B/$4E/<LENGTH/$85/$C9/$7E/$18/$1E/$C5/$76/<ST/$FC/$AC/$88/$C4/$8B/
- $56/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/>QWRITESDISP-*+5/$1F);
- end;
-
- procedure QwriteV (Row, Col: byte; Attr: integer; VAR St);
- begin
- Inline($1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$0F/$8B/$56/<ROW/$8B/$7E/
- <COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/>QWRITESDISP-*+5/$1F);
- end;
-
- procedure Qwrite (Row, Col: byte; Attr: integer; St: Str80);
- begin
- Inline($1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$12/$8B/
- $96/>ROW/$8B/$BE/>COL/$4F/$D1/$E7/$8B/$9E/>ATTR/$E8/>QWRITESDISP-*+5/$1F);
- end;
-
- procedure QwriteC (Row, ColL, ColR: byte; Attr: integer; St: Str80);
- begin
- Inline($1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$1A/$8B/
- $96/>ROW/$8B/$BE/>COLL/$03/$BE/>COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$9E/
- >ATTR/$E8/>QWRITESDISP-*+5/$1F);
- end;
-
- procedure QwriteCV (Row, ColL, ColR: byte; Attr: integer; VAR St);
- begin
- Inline($1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$16/$8B/$56/<ROW/$8B/$7E/
- <COLL/$03/$7E/<COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$E8/
- >QWRITESDISP-*+5/$1F);
- end;
-
- { ------------------------------ QFILLS MODULE ------------------------------ }
- procedure QfillsDisp;
- begin
- Inline($48/$31/$D2/$8E/$C2/$26/$8B/$16/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88/
- $E8/$30/$ED/$29/$CA/$D1/$E2/$52/$51/$85/$F6/$7E/$31/$85/$C9/$7E/$2D/$88/
- $DC/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$75/$29/$84/$FF/$78/$0E/$89/$CA/$F2/
- $AB/$4E/$74/$15/$89/$D1/$03/$7E/$FA/$EB/$F4/$41/$89/$CA/$D1/$E9/$73/$02/
- $AA/$47/$AA/$47/$E2/$FA/$4E/$7E/$58/$89/$D1/$03/$7E/$FA/$EB/$EC/$BA/$DA/
- $03/$88/$C3/$84/$FF/$78/$27/$FA/$EC/$A8/$08/$74/$07/$88/$D8/$F2/$AB/$FB/
- $EB/$0F/$D0/$D8/$72/$F0/$EC/$D0/$D8/$73/$FB/$88/$D8/$AB/$FB/$E2/$E4/$4E/
- $74/$29/$8B/$4E/$F8/$03/$7E/$FA/$EB/$D9/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/
- $72/$F7/$EC/$D0/$D8/$73/$FB/$88/$D8/$AA/$FB/$47/$E2/$EA/$4E/$74/$08/$8B/
- $4E/$F8/$03/$7E/$FA/$EB/$DF/$81/$C4/$04/$00/$C3);
- end;
-
- procedure QfillC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer; Ch: char);
- begin
- Inline($8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E/
- <COLS/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$8A/$6E/<CH/$E8/
- >QFILLSDISP-*+5);
- end;
-
- procedure Qfill (Row, Col, Rows, Cols: byte; Attr: integer; Ch: char);
- begin
- Inline($8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$76/<ROWS/$8A/$4E/<COLS/
- $8B/$5E/<ATTR/$8A/$6E/<CH/$E8/>QFILLSDISP-*+5);
- end;
-
- procedure Qattr (Row, Col, Rows, Cols: byte; Attr: integer);
- begin
- Inline($8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$47/$8B/$76/<ROWS/$8A/$4E/<COLS/
- $8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80/$E8/>QFILLSDISP-*+5);
- end;
-
- procedure QattrC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer);
- begin
- Inline($8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E/
- <COLS/$29/$CF/$81/$CF/$01/$00/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/
- $80/$E8/>QFILLSDISP-*+5);
- end;
- { --------------------------------------------------------------------------- }
-
- procedure QstoreToMem (Row, Col, Rows, Cols: byte; VAR Dest);
- begin
- Inline($8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$63/$85/$C9/$7E/$5F/$31/$D2/
- $8E/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C6/$03/$76/<COL/
- $4E/$D1/$E6/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$C4/$7E/<DEST/$3A/$2E/>QWAIT/
- $8E/$1E/>QSEG/$75/$0C/$F2/$A5/$4B/$74/$29/$8B/$4E/$FA/$01/$D6/$EB/$F4/$BA/
- $DA/$03/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$AD/
- $FB/$AB/$E2/$EC/$4B/$74/$08/$8B/$4E/$FA/$03/$76/$FC/$EB/$E1/$1F/$81/$C4/
- $04/$00);
- end;
-
- procedure QstoreToScr (Row, Col, Rows, Cols: byte; VAR Source);
- begin
- Inline($8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$68/$85/$C9/$7E/$64/$31/$D2/
- $8E/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C7/$03/$7E/<COL/
- $4F/$D1/$E7/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/
- $C5/$76/<SOURCE/$75/$0C/$F2/$A5/$4B/$74/$2E/$8B/$4E/$FA/$01/$D7/$EB/$F4/
- $BA/$DA/$03/$AD/$88/$C7/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/
- $D8/$73/$FB/$88/$F8/$AB/$FB/$E2/$E8/$FE/$CB/$74/$08/$8B/$4E/$FA/$03/$7E/
- $FC/$EB/$DC/$1F/$81/$C4/$04/$00);
- end;
-
- procedure QviewPage (Page: byte);
- begin
- Inline($8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$08/$85/$C0/$78/$04/$B4/$05/$CD/
- $10);
- end;
-
- procedure QwritePage (Page: byte);
- begin
- Inline($8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$18/$85/$C0/$78/$14/$31/$C9/$8E/
- $C1/$26/$F7/$26/$4C/$04/$B1/$04/$D3/$E8/$03/$06/>PAGE0SEG/$A3/>QSEG);
- end;
-
- procedure GotoRC (Row,Col: byte);
- begin
- Inline($B4/$02/$31/$DB/$8E/$C3/$26/$8A/$3E/$62/$04/$8A/$76/<ROW/$FE/$CE/$8A/
- $56/<COL/$FE/$CA/$CD/$10);
- end;
-
- procedure CursorChange (New: integer; VAR Old: integer);
- begin
- Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$C4/$7E/<OLD/$AB/$B4/$01/$8B/$4E/<NEW/
- $CD/$10);
- end;
-
- procedure CursorOff;
- begin
- Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$80/$E4/$BF/$80/$CC/$20/$89/$C1/$B4/
- $01/$CD/$10);
- end;
-
- procedure CursorOn;
- begin
- Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$80/$E4/$DF/$89/$C1/$B4/$01/$CD/$10);
- end;